package com.example.bbfindhouse.Activity;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.example.bbfindhouse.R;

public class RegisterActivity extends AppCompatActivity {

    private EditText etUsername, etPassword, etConfirmPassword, etPhone;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);

        // 绑定视图控件
        etUsername = findViewById(R.id.et_username);
        etPassword = findViewById(R.id.et_password);
        etConfirmPassword = findViewById(R.id.et_confirm_password);
        etPhone = findViewById(R.id.et_phone);
        Button btnRegister = findViewById(R.id.btn_register);
        TextView tvBackToLogin = findViewById(R.id.tv_back_to_login);
        View ivBack = findViewById(R.id.iv_back);

        // 设置注册按钮点击事件
        btnRegister.setOnClickListener(v -> attemptRegister());

        // 设置返回登录按钮点击事件
        tvBackToLogin.setOnClickListener(v -> finish());

        // 设置返回图标点击事件
        ivBack.setOnClickListener(v -> finish());
    }

    /**
     * 尝试注册方法
     */
    private void attemptRegister() {
        // 获取输入的用户名、密码和手机号
        String username = etUsername.getText().toString().trim();
        String password = etPassword.getText().toString().trim();
        String confirmPassword = etConfirmPassword.getText().toString().trim();
        String phone = etPhone.getText().toString().trim();

        // 检查输入是否为空
        if (TextUtils.isEmpty(username)) {
            etUsername.setError("请输入用户名");
            etUsername.requestFocus();
            return;
        }

        if (TextUtils.isEmpty(password)) {
            etPassword.setError("请输入密码");
            etPassword.requestFocus();
            return;
        }

        if (TextUtils.isEmpty(confirmPassword)) {
            etConfirmPassword.setError("请确认密码");
            etConfirmPassword.requestFocus();
            return;
        }

        if (TextUtils.isEmpty(phone)) {
            etPhone.setError("请输入手机号");
            etPhone.requestFocus();
            return;
        }

        // 检查密码是否一致
        if (!password.equals(confirmPassword)) {
            etConfirmPassword.setError("两次输入的密码不一致");
            etConfirmPassword.requestFocus();
            return;
        }

        // 检查手机号格式（简化版，实际应用中应该使用更严格的正则表达式）
        if (phone.length() != 11) {
            etPhone.setError("请输入有效的手机号");
            etPhone.requestFocus();
            return;
        }

        // 模拟注册过程（实际应用中应该通过网络请求服务器）
        if (registerUser(username, password, phone)) {
            // 注册成功，返回登录页面
            Toast.makeText(this, "注册成功，请登录", Toast.LENGTH_SHORT).show();
            finish();
        } else {
            // 注册失败，显示错误信息
            Toast.makeText(this, "注册失败，请稍后再试", Toast.LENGTH_SHORT).show();
        }
    }

    /**
     * 模拟注册用户（实际应用中应该替换为真实的服务器请求）
     * @param username 用户名
     * @param password 密码
     * @param phone 手机号
     * @return 注册结果
     */
    private boolean registerUser(String username, String password, String phone) {
        // 这里只是示例，实际应该通过网络请求服务器注册
        // 返回true表示注册成功，返回false表示注册失败
        return true;
    }
}